package com.hly.musicbackground.model.boots.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hly.musicbackground.domain.FictionShelf;
import com.hly.musicbackground.model.boots.VO.FictionShelfVO;

import java.util.List;

public interface FictionShelfService extends IService<FictionShelf> {

    /**
     * 修改该小说是否更新了新章节
     * @param i 是否更新了新章节 1代表更新 0代表没有更新
     * @param id 小说id
     * */
    void updateNewChapter(int i, int id);

    /**
     * 添加或者修改书架中的小说
     * @param fid 小说id
     * @param uid 用户id
     * @param type 书架类型
     * @param fcId 章节id
     * @param cNum 章节号
     * */
    void saveOrUpdateFictionShelfType(int fid, int uid, String type, int fcId, int cNum);

    /**
     * 获取小说的书架量和浏览量
     * @param fid 小说id
     * @return int[] 【浏览量】【书架量】
     * */
    int[] getFictionShelfNumArras(int fid);

    /**
     * 获取用户在书架中的小说
     * @param userId 用户id
     * @param type 书架类型
     * @param page 第几页
     * @param limit 一页多少条数据
     * @return List 书架中的小说们
     * */
    List<FictionShelfVO> getFictionShelfVOs(int userId, String type, int page, int limit);

    /**
     * 获取书架中小说的id
     * @param type 书架类型
     * @return int[] 小说id们
     * */
    List<Integer> getFictionIds(String type, int uid);

    /**
     * 检查是否加入书架
     * @param uid 用户id
     * @param fid 书籍id
     * @param type 书架类型
     * @return boolean 是否加入书架
     * */
    boolean isBookshelf(int uid, int fid, String type);

    /**
     * 删除书架、浏览记录
     * @param userId 用户id
     * @param fids 书籍id们
     * @param type 书架类型
     * */
    void deleteType(String[] fids, int userId, String type);
}
